package com.baohua.model;

import java.io.Serializable;
import java.sql.Timestamp;
import java.util.Date;
import java.util.Set;

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

import com.baohua.util.ExcelVOAttribute;

/**
 * 员工表
 * @author czp
 */
@JsonIgnoreProperties(value={"roles"}) 
public class Staff implements Serializable {

	/**
	 * 员工标识Id
	 */
	@ExcelVOAttribute(name="序号", order=1, isExport=false)
	private int staffId;
	/**
	 * 员工编号
	 */
	@ExcelVOAttribute(name="员工编号", order=2, prompt="必须要输入哦, 3-20个字", mustInput=true)
	private String staffNO;
	/**
	 * 员工的登录密码
	 */
	private String password;
	/**
	 * 员工姓名
	 */
	@ExcelVOAttribute(name="姓名", order=3, prompt="必须要输入哦, 3-20个字",mustInput=true)
	private String staffName;
	/**
	 * 员工部门Id, 未做
	 */
	@ExcelVOAttribute(name="所属部门", order=5, combo={"采购部", "后勤部", "人事部"})
	private String deptId;
	/**
	 * 员工职务
	 */
	@ExcelVOAttribute(name="职务", order=6)
	private String position;
	/**
	 * 员工住址
	 */
	@ExcelVOAttribute(name="住址", order=7)
	private String address;
	/**
	 * 员工手机号码
	 */
	@ExcelVOAttribute(name="手机号码", order=8, prompt="必须输入正确的手机号码格式哦")
	private String telephone;
	/**
	 * 员工电话
	 */
	@ExcelVOAttribute(name="电话", order=9, prompt="必须输入正确的固定电话格式哦")
	private String mobile;
	/**
	 * 员工电子邮箱
	 */
	@ExcelVOAttribute(name="电子邮箱", order=10, prompt="必须输入正确的邮箱格式哦")
	private String email;
	/**
	 * 员工QQ
	 */
	@ExcelVOAttribute(name="QQ", order=11, prompt="必须输入数字哦")
	private String qq;
	/**
	 * 员工性别
	 */
	@ExcelVOAttribute(name="性别", order=4, combo={"男", "女"}, convertBool={"男", "女"} )
	private boolean sex;
	/**
	 * 员工入职时间
	 */
	@ExcelVOAttribute(name="入职时间", order=12, prompt="日期格式:yyyy-MM-dd", isDate=true)
	private Date employDate;
	/**
	 * 员工离职时间
	 */
	@ExcelVOAttribute(name="离职时间", order=13, prompt="日期格式:yyyy-MM-dd", isDate=true)
	private Date leaveDate;
	/**
	 * 员工备注
	 */
	@ExcelVOAttribute(name="备注", order=15)
	private String memo;
	private Timestamp createTime;
	/**
	 * 是否有效
	 */
	@ExcelVOAttribute(name="是否有效", order=14, combo={"是", "否"}, convertBool={"是", "否"})
	private Boolean active;
	/**
	 * 员工管理角色
	 */
	private Set<Role> roles;
	
	
	public Set<Role> getRoles() {
		return roles;
	}
	public void setRoles(Set<Role> roles) {
		this.roles = roles;
	}
	public int getStaffId() {
		return staffId;
	}
	public void setStaffId(int staffId) {
		this.staffId = staffId;
	}
	public String getStaffNO() {
		return staffNO;
	}
	public void setStaffNO(String staffNO) {
		this.staffNO = staffNO;
	}
	public String getStaffName() {
		return staffName;
	}
	public void setStaffName(String staffName) {
		this.staffName = staffName;
	}
	public String getDeptId() {
		return deptId;
	}
	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}
	public String getPosition() {
		return position;
	}
	public void setPosition(String position) {
		this.position = position;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public String getTelephone() {
		return telephone;
	}
	public void setTelephone(String telephone) {
		this.telephone = telephone;
	}
	public String getMobile() {
		return mobile;
	}
	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public String getQq() {
		return qq;
	}
	public void setQq(String qq) {
		this.qq = qq;
	}
	
	public boolean isSex() {
		return sex;
	}
	public void setSex(boolean sex) {
		this.sex = sex;
	}
	public Date getEmployDate() {
		return employDate;
	}
	public void setEmployDate(Date employDate) {
		this.employDate = employDate;
	}
	public String getMemo() {
		return memo;
	}
	public void setMemo(String memo) {
		this.memo = memo;
	}
	
	public boolean isActive() {
		return active;
	}
	public void setActive(boolean active) {
		this.active = active;
	}
	
	public Timestamp getCreateTime() {
		return createTime;
	}
	public void setCreateTime(Timestamp createTime) {
		this.createTime = createTime;
	}
	
	public void setLeaveDate(Date leaveDate) {
		this.leaveDate = leaveDate;
	}
	public Date getLeaveDate() {
		return leaveDate;
	}
	public String getEmail() {
		return email;
	}
	public void setEmail(String email) {
		this.email = email;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
}
